// Package _4_hashmap demo
// @Title _4_hashmap
// @Description
// @Author  == 琳琳也叫王木木 ==  2021/9/26 19:11
// @Create  2021/9/26 19:11
package _4_hashmap

/**

这里是为了求报相同数字的兔子最少不同的颜色种类数d，报相同数字的兔子有可能为一种颜色类，
但是如果有多只兔子报同一个数字，并且报同一个数字的兔子的总数大于报的这个数字 + 1，
那么肯定应该是颜色种类要多于一类的，明白了这里本题就没啥难度了

*/
func NumRabbits(answers []int) int {
	if answers == nil {
		return 0
	}
	ans := 1
	//math.Ceil()
	dictMap := make(map[int]int, 0)
	for i := 0; i < len(answers); i++ {
		exist, _ := dictMap[answers[i]]
		if exist == 0 {
			ans += answers[i]
			dictMap[answers[i]] += 1
		}
	}
	return ans
}
